package robocup.component.infotypes;


/**
 * Interface for commen Model classes. Reminds you to implement all update
 * methods. (or to document why you didn't :-))
 * 
 * @author wetzker
 * 
 */
public interface InfoReceiver {

  /**
   * update model after BS arrival.
   * 
   * @param info
   */
  public void update(SenseBodyInfo info);

  /**
   * update model after VI arrival.
   * 
   * @param info
   */
  public void update(VisualInfo info);

  /**
   * update model after referee info arrival.
   * 
   * @param info
   */
  public void update(RefereeInfo info);

  /**
   * update model after play mode info arrival.
   * 
   * @param info
   */
  public void update(PlayModeInfo info);

  /**
   * update model after player say info arrival.
   * 
   * @param info
   */
  public void update(PlayerSayInfo info);
  
  /**
   * Called by Perception at the arrival of Player Types.
   * 
   * @param info
   */
  public void update(PlayerTypesInfo info);

}
